The present invention relates to the field of echo cancellation. It relates in particular, but not exclusively, to acoustic echo cancellers for hands-free telephone installations.
An echo canceller, a basic diagram of which is shown in FIG. 1, processes on the one hand a reception signal x(n) originating from a distant device and applied to an input of a local system 1, and on the other hand an observation signal z(n) emanating from the system 1, so as to produce another signal e(n) which is returned to the distant device by way of a communication channel. It is assumed that the signals x(n) and z(n) are digital signals, sampled for example at 8 kHz for speech in the telephone band, or at 16 kHz in broadband.
The echo canceller represented in FIG. 1 is intended for a hands-free telephone installation. The local system 1 thus comprises a digital/analogue converter 2 to which the reception signal x(n) is applied, a loudspeaker 3 receiving the amplified analogue output from the converter 2, a microphone 4 which picks up the local speech P and also ambient noise B and echo components EC of the reception signal which are due to the acoustic couplings between the loudspeaker 3 and the microphone 4, and an analogue/digital converter 6 which produces the observation signal z(n) by digitizing the amplified output from the microphone 4.
The echo canceller comprises a digital filter 7 which delivers an echo prediction signal y(n) from the reception signal x(n). This filter, which has finite impulse response (FIR) in the case considered with reference to FIG. 1, models the response of the echo paths within the system 1. The error signal e(n) is delivered by a subtracter 8 which deducts the echo prediction signal y(n) from the observation signal z(n).
So as to include the variability of the echo paths, the echo canceller is often adaptive, that is to say the coefficients of the filter 7 are adjusted dynamically by an adaptation control module 9 implementing an appropriate adaptation algorithm. In general, the adaptation of the coefficients is performed as a function of the input signal x(n) and of the error signal e(n). Numerous possible adaptation algorithms are known, especially diverse versions of the gradient algorithm.
Frequently, the adaptive echo canceller is associated with a voice activity detector and with a double-talk detector, which are not represented in FIG. 1. These detectors are used to disable the adaptation of the coefficients of the filter 7 when the reception signal x(n) does not include any voice activity, and when decorrelated voice activities are present in the signals x(n) and z(n). Thus, in these two particular cases, the signal z(n) does not represent a good observation of the echo paths which can be exploited by the adaptation control module 9. It is known that the double-talk detector is the source of numerous difficulties for the designer of an echo canceller. In particular, these detectors are frequently disturbed when the ambient noise B is relatively sizable. Furthermore, it is often tricky to discriminate between double-talk situations, and on/off adaptation control based on such discrimination, impairs good convergence of the algorithm.
There are various possible ways of carrying out the filtering of the reception signal x(n), which are in their turn compatible with various types of adaptation algorithms. In the conventional case of FIG. 1, an FIR filter 7 is used which carries out the convolution between the reception signal and the estimated impulse response, N samples in length, of the echo paths.
In the embodiment represented in FIG. 2, the filtering is carried out in the frequency domain. This implementation is well suited to the long impulse responses of the echo paths and to the high degree of correlation exhibited by the speech signals. The convolutions are replaced by term-by-term products between the Fourier transforms of the reception signal and of the impulse response, and calculated according to a fast convolution technique OLS (Overlap-and-Save) or OLA (Overlap-Add) (see J. J. Shynk: "Frequency-Domain and Multirate Adaptive Filtering", IEEE SP Magazine, January 1992, pages 15-37). To calculate convolutions using an FIR filter with N coefficients, the OLS or OLA technique works on successive blocks of 2N samples of the signals, which exhibit overlaps of size N.
The adaptation control means can be devised so as to calculate the gradient according to an unconstrained algorithm, such as that described by D. Mansour et al. in "Unconstrained frequency-domain adaptive filter", IEEE Trans. on Acoustics, Speech and Signal Processing, Vol. 30, No. 5, October 1982, pages 726-734. Such is the case in the example represented in FIG. 2. A constrained gradient algorithm may also be employed (see for example E. R. Ferrara: "Fast implementation of LMS adaptive filters", IEEE Trans. on Acoustics, Speech and Signal Processing, Vol. 28, No. 4, August 1980, pages 474-475), the adaptation control means then including projection means for taking account of the fact that the 2N filtering coefficients in fact represent only N terms of the impulse response.
In order to reduce the delay inherent in block processing and to improve performance, the filtering in the frequency domain can be performed with a partitioning of the impulse response (see J. S. Soo et al.: "Multidelay Block Frequency Domain Adaptive Filter", IEEE Trans. on Acoustics, Speech and Signal Processing, Vol. 38, No. 2, February 1990, pages 373-376). Another possibility is to employ an overlap technique such as that described by O. Ait Amrane et al.: "Low-Delay Frequency Domain LMS Algorithm", IEEE Proc. ICASSP'92, Vol. 4, March 1992, pages 9-12.
On the other hand, echo cancellers in the frequency domain have the advantage of lending themselves well to processing operations for reducing noise in the error signal (cf. J. Boudy et al.: "A globally optimized frequency-domain acoustic echo canceller for adverse environment applications", Proc. of the International Workshop on Acoustic Echo and Noise Control, Roros, Norway, June 1995, pages 95-98; or international patent application WO96/23384).
In the echo canceller of FIG. 2, serial/parallel converters 11, 12 respectively receive the signals x(n) and z(n), and cast them into the form of non-overlapping successive segments of S samples, S being an integer less than or equal to the length N of the impulse response. The echo prediction signal y(n) is also produced in the form of corresponding segments of S samples. The subtracter 8 then carries out the operation e(n)=z(n)-y(n) in parallel so as to produce the error signal in the form of segments of S samples which are next cast back into sequential form by a parallel/serial converter 13.
Owing to the convolution technique employed, which is an OLS technique in the case represented, the Fourier transforms of the signals x(n) and e(n) are carried out on blocks of length 2N samples, by units 16, 17 implementing a conventional fast Fourier transformation (FFT) algorithm. The successive blocks of the reception signal x(n) are constructed by a unit 18 so as to exhibit overlaps of 2N-S samples. These blocks are numbered by an index k. On receiving a segment of S samples of the signal x(n), the unit 18 builds block k by deleting the oldest S samples of block k-1, while shifting the remaining 2N-S samples and introducing the S new samples. The successive blocks of the error signal e(n) are constructed by a unit 19 from the segments delivered by the subtracter 8 so that each block of length 2N begins with N zero samples and the last N samples of two successive blocks exhibit overlaps of N-S samples. The Fourier components obtained by transforming the blocks k of the reception signal x(n) and the error signal e(n) are denoted X.sub.k (f) and E.sub.k (f) respectively (1.ltoreq.f.ltoreq.2N) . For a sampling frequency of 8 kHz, typical sizes of segments and blocks for filtering in the frequency domain are S=32, 2N=256.
The Fourier components produced by the units 16, 17 are supplied to the adaptation control means 9 which, in the example illustrated by FIG. 2, consist of 2N independent modules 9.f (1.ltoreq.f.ltoreq.2N) each receiving the corresponding components X.sub.k (f) and E.sub.k (f) and respectively producing the 2N complex coefficients serving in the filtering in the frequency domain. The filter 7 is composed of 2N complex multipliers 7.f each receiving a Fourier component X.sub.k (f) and the corresponding coefficient delivered by the adaptation control module 9.f, and delivering a Fourier component Y.sub.k (f). In practice, given the symmetry properties of the Fourier transform, it is possible to obtain the 2N components Y.sub.k (f) by means of N+1 multipliers only. A unit 21 effects an inverse fast Fourier transform (IFFT) of the block of 2N components Y.sub.k (f) . A unit 22 constructs the echo prediction signal y(n) segment by segment on the basis of the blocks of 2N samples delivered by the unit 21. The unit 22 extracts the last N samples of each block received from the unit 21 and, when S&lt;N, also carries out the overlap-adds necessary for reconstituting the successive segments of the filtered signal y(n).
As is well known, the fast Fourier transforms can be replaced by fast Hartley transforms which lead to spectral components which are directly related to the Fourier components (see T. W. Wong et al.: "Adaptive Filtering Using Hartley Transform and Overlap-Save Method", IEEE Trans. on Signal Processing, Vol. 39, No. 7, July 1991, pages 1708-1711).
FIG. 3 shows another possible embodiment of an adaptive echo canceller which employs sub-band decomposition. We consider by way of example the case in which four sub-bands are envisaged. We denote by x.sub.(i) (n'), y.sub.(i) (n'), z.sub.(i) (n') and e(.sub.i) (n') the components relating to sub-band i (1.ltoreq.i.ltoreq.4) of the signals x(n), y(n), z(n) and e(n).
The signals x.sub.(i) (n') and z.sub.(i) (n') are obtained by decomposing the signals x(n) and z(n) by means of two decomposition stages, the first stage comprising a module D, D' with one input and two outputs of the type represented in FIG. 4, and the second stage comprising two modules D, D' of the same type, whose inputs are respectively linked to the two outputs of the module of the first stage. Each module D or D' comprises a low-pass filter 23 and a high-pass filter 24 both receiving the input signal from the module and two circuits 26 which sub-sample the output signals from the filters 23, 24 by a factor 2, so as to produce the two output signals from the module D, D'.
The sub-band echo canceller includes an adaptive filter 7 for each sub-band, which filters in the time domain the corresponding component x.sub.(i) (n') of the reception signal so as to produce the component y.sub.(i) (n') of the echo prediction signal which is subtracted by a subtracter 8 from the component z.sub.(i) (n') of the observation signal. For each sub-band, a module 9 controls the adaptation of the filter 7.
Means for recombining in two stages construct the error signal e(n) from the four components e.sub.(i) (n') delivered by the subtracters 8. The first stage comprises two modules R with two inputs and one output of the type represented in FIG. 5, and the second stage comprises a single module R of the same type, the two inputs of which are linked to the outputs of the two modules of the first stage. Each module R comprises two circuits 27 for oversampling the two input signals from the module by a factor 2, a low-pass filter 28 and a high-pass filter 29 respectively receiving the two oversampled signals produced by the circuits 27, and a summator 31 which adds together the output signals from the two filters 28, 29 so as to produce the output signal from the module R.
Various conventional forms for the decomposition and recombination filters 23, 24, 28, 29 are known and these may generally have finite or infinite impulse response, for example conjugate quadrature filters (CQF), quadrature mirror filters (QMF), or else wavelet decomposition filters (WDF). Moreover, a direct-decomposition structure of the cosine-modulated filter bank type may be used instead of the multistage structure (see H. S. Malvar: "Extended Lapped Transforms: Properties, Applications, and Fast Algorithms", IEEE Trans. on Signal Processing, Vol. 40, No. 11, November 1992, pages 2703-2714, or P. P. Vaidyanathan: "Multirate Digital Filters, Filter Banks, Polyphase Networks and Applications: A Tutorial", Proc. of the IEEE, Vol. 78, No. 1, January 1990, pages 56-93).
The adaptation algorithms implemented by the modules 9 of the sub-band echo canceller may be of the same type as those commonly used to adapt the full-band time filtering. There are however algorithms which are especially well suited to the sub-band structure, such as the fast recursive least square algorithm (RLS) with QR decomposition (cf. F. Capman et al.: "Acoustic echo cancellation using a fast-QR-RLS algorithm and multirate schemes", IEEE ICASSP'95, Detroit, 1995; or international patent application WO96/21313) . It is also possible to use convergence parameters and/or adaptation algorithms which differ from one sub-band to another. In particular, in the sub-bands relating to the lowest frequencies it is possible to use an algorithm (such as the fast QR-RLS) which is more efficient than in the higher sub-bands, wherein an algorithm which is less demanding in terms of computational resources may be used (such as an NLMS).
In certain echo cancellers, the coefficients of the echo prediction filtering are frozen during operation. These coefficients can be fixed; they are then determined once and for all so as to take into account, for example, the responses of the loudspeaker 3 and of the microphone 4, direct couplings between the loudspeaker and the microphone, and possibly indirect couplings if the loudspeaker and the microphone always remain in the same positions. The coefficients can also be determined by learning, either when switching on the echo canceller or periodically, by bringing about convergence of an adaptation algorithm on a signal superimposed on or substituted for the reception signal and having decorrelation properties similar to those of white noise.
Echo cancellers are also known in which there are several echo prediction filters, the signal transmitted towards the communication channel being obtained by selecting one of the filters according to predefined criteria such as minimization of the energy of the error signal, or else by combining the outputs from several echo prediction filters (see W. Armbruster: "Wideband Acoustic Echo Canceller with Two Filter Structure", Signal Processing VI : Theories and Applications, 1992, pages 1611-1614, or J. S. Soo et al.: "A Multistep Size (MSS) Frequency Domain Adaptive Filter", IEEE Trans. on Signal Processing, Vol. 39, No. 1, January 1991, pages 115-121). The echo canceller can for example include one or more adaptive filters operating with different convergence parameters or according to different adaptation algorithms, and/or one or more filters with fixed coefficients, and/or one or more filters whose coefficients are determined by learning.
A primary object of the present invention is to improve the convergence and/or the quality of the output signal from an echo canceller, especially from an echo canceller which involves a spectral resolution (filtering in the frequency domain or by sub-bands).